/**
 * 
 */
package com.thor.palmmall.hdmall.sales;

import java.util.List;

import com.thor.commons.exception.ThorServiceException;
import com.thor.palmmall.hdmall.common.HDMQueryResult;

/**
 * @author liyang
 *
 * @since 1.0
 */

public interface HDMSalesInputService {

  /**
   * 保存销售录入
   * 
   * @param salesInput
   * @return
   * @throws ThorServiceException
   */
  HDMBill save(HDMSalesInput salesInput) throws ThorServiceException;

  /**
   * 获取销售录入
   * 
   * @param id
   * @return
   * @throws ThorServiceException
   */
  HDMSalesInput get(String id) throws ThorServiceException;

  /**
   * 查询销售数据录入单列表
   * 
   * @param param
   *          查询参数
   * @return
   * @throws ThorServiceException
   */
  HDMQueryResult<HDMSalesInput> query(HDMSalesInputQueryParam param) throws ThorServiceException;

  /**
   * 获取合同指定时间的销售付款数据
   * 
   * @param condition
   * @return
   * @throws ThorServiceException
   */
  List<HDMSalesTotalData> getSalesTotal(HDMSalesInputCondition condition) throws ThorServiceException;

}
